#ifndef  _USERCOMMON_
#define  _USERCOMMON_

typedef void (*VoidFunctionPtr)(int arg);
typedef void (*VoidNoArgFunctionPtr)();

char localBuffer[1000];
int printLock;

long strlen(char* str);

char* strrev(char* start);

char* strcpy(char* to, char* from);

void printf(char* toPrint);

void printf_WithSize(char* toPrint, int size);

char* ConvertToString_long(long toConvert, int* size);

void printf_long(long toPrint);

void printf_int(int toPrint);

void printf_1 (char* one);

void printf_2 (char* one, int two);

void printf_3 (char* one, int two, char* three);

void printf_4 (char* one, int two, char* three, int four);

void printf_5 (char* one, int two, char* three, int four, char* five);

void printf_6 (char* one, int two, char* three, int four, char* five, int six);

void printf_7 (char* one, int two, char* three, int four, char* five, int six, char* seven);

void printf_8 (char* one, int two, char* three, int four, char* five, int six, char* seven, int eight);

void printf_9 (char* one, int two, char* three, int four, char* five, int six, char* seven, int eight, char* nine);

void printf_10(char* one, int two, char* three, int four, char* five, int six, char* seven, int eight, char* nine, int ten);

void printf_11(char* one, int two, char* three, int four, char* five, int six, char* seven, int eight, char* nine, int ten, char* eleven);


/*Returns the threadID of the newly generated thread*/
int CallFork(char *name, void (*func)());

int CallExec(char* name);
#endif
